To improve throughput, many communication systems implement some type of forward error correction (FEC) technique. This is particularly true of wireless communication systems, such as cellular networks. One of the most common FEC techniques is known as convolutional coding with Viterbi decoding. Convolutional coding with Viterbi decoding is particularly useful for channels in which additive white Gaussian noise (AWGN) distorts the transmitted signal.
A Viterbi decoder is the maximum likelihood sequence decoder for a convolutional code. Viterbi decoders have been adopted for use in the physical layers of a number of wireless standards, including WCDMA, CDMA2000, IEEE-802.16e (i.e., WiBro) and others. These standards operate at different data rates and implement convolutional encoders in the transmitters and Viterbi decoders in the receivers that are optimized for only one or two specific standards. Also, most conventional convolutional encoders and Viterbi decoders operate at relatively low data rates.
A software-defined radio (SDR) device uses reconfigurable hardware that may be programmed over-the-air to operate under different wireless standards. For example, an SDR transceiver in a wireless laptop computer or PDA may be configured by different software loads to operate in an IEEE-802.11x wireless network, a CDMA2000 wireless network, an OFDM/OFDMA wireless network, a GSM wireless network, or another type of network. Many of these wireless standards require the use of Viterbi decoders.
However, conventional Viterbi decoders have significant drawbacks with respect to SDR applications. As noted above, conventional Viterbi decoders are optimized for decoding under only one or two specific (and similar) standards. If an SDR device must support many wireless standards, more than one Viterbi decoder must be implemented in the SDR device. This leads to a complex transceiver design that inefficiently uses chip space and consumes an excessive amount of power.
Also, many new wireless standards operate at relatively high data rates (e.g., WiBro, HSPDA, and the like). A Viterbi decoder that is optimized in terms of speed and power consumption for a low data rate standard is unlikely to be optimized in terms of speed and power consumption for a high data rate standard, and vice versa. Thus, conventional Viterbi decoders are not suitable for SDR applications.
Therefore, there is a need in the art for an improved reconfigurable Viterbi decoder for use in a software-defined radio (SDR) system.